Recent advances and price drops in additive manufacturing technology have made three-dimensional (3-D) printers more affordable than ever before. Although their wide-scale adoption of such printers is expanding day by day, a key challenge in 3-D printing technology is using a single fabrication material with prefixed material properties which limits the applicability of additive manufacturing to a small set of commercial products. There is a need and desire to perform 3-D printing with a mix of materials such that different portions of the object being printed may have different functional properties. However, conventional techniques are generally limited in how materials can be mixed during additive manufacturing. Moreover, even where mixing is permitted, it is generally done in a very rough manner that does not result in smooth transitions between the different types of materials being used for printing.